package com.guptarulie.jmeter.protocol.mm7.cancelreplace;

import org.apache.jmeter.testbeans.BeanInfoSupport;


import java.beans.PropertyDescriptor;

/**
 *User: Mat Rule
 *User: Gaurav Gupta
 *Date: Jan 2009
 */
public class MM7CancelReplaceReqSamplerBeanInfo extends BeanInfoSupport {
    public MM7CancelReplaceReqSamplerBeanInfo() {
    	super(MM7CancelReplaceReqSampler.class);
    	
    	createPropertyGroup("replaceCancel_details", new String[]{"replaceCancel", "timerValue"});
        createPropertyGroup("vasp_details", new String[]{"vaspLocalIP", "vaspLocalPort", "vaspUserName","vaspPwd", "vaspID", "vasID", "vaspURL", "vaspConnType"});
        createPropertyGroup("mmsc_details", new String[]{"mmscServerName","mmscPortNumber", "mmscUserName", "mmscPwd", "mmscConnType"});
        createPropertyGroup("mm_details", new String[]{"mmSenderAddr","mmRecipientAddr", "serviceCode", "msgClass", "deliveryReport", "readReplyReport", "contentType"});
        
        
		PropertyDescriptor propDes = property("vaspLocalIP");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("vaspLocalPort");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("vaspUserName");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("vaspPwd");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("vaspID");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("vasID");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("vaspURL");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("vaspConnType");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "Basic");
		propDes.setValue(TAGS, new String[]{"Basic", "Digest"});

		propDes = property("mmscServerName");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("mmscPortNumber");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("mmscUserName");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("mmscPwd");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("mmscConnType");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "Basic");
		propDes.setValue(TAGS, new String[]{"Basic", "Digest"});

		propDes = property("mmSenderAddr");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("mmRecipientAddr");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("serviceCode");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("msgClass");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("deliveryReport");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "Off");
		propDes.setValue(TAGS, new String[]{"On", "Off"});

		propDes = property("readReplyReport");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "Off");
		propDes.setValue(TAGS, new String[]{"On", "Off"});

		propDes = property("contentType");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "Text");
		propDes.setValue(TAGS, new String[]{"Text", "Image", "Audio", "Video"});

		propDes = property("replaceCancel");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "Cancel");
		propDes.setValue(TAGS, new String[]{"Cancel", "Replace"});

		propDes = property("timerValue");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "0");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		// GG - Can be used later on... 
		/*
		propDes = property("mmscPwd");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);

		propDes = property("mmscPwd");
		propDes.setValue(NOT_UNDEFINED, Boolean.TRUE);
		propDes.setValue(DEFAULT, "");
		propDes.setValue(NOT_EXPRESSION, Boolean.TRUE);*/
    }
}
